'\" t
.\"     Title: passwd
.\"    Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 12/01/2016
.\"    Manual: Пользовательские команды
.\"    Source: shadow-utils 4.4
.\"  Language: Russian
.\"
.TH "passwd" "1" "12/01/2016" "shadow\-utils 4\&.4" "Пользовательские команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "НАЗВАНИЕ"
passwd \- изменяет пароль пользователя
.SH "СИНТАКСИС"
.HP \w'\fBpasswd\fR\ 'u
\fBpasswd\fR [\fIпараметры\fR] [\fIУЧЁТНАЯ_ЗАПИСЬ\fR]
.SH "ОПИСАНИЕ"
.PP
Программа
\fBpasswd\fR
изменяет пароли пользовательских учётных записей\&. Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи\&. Программа
\fBpasswd\fR
также изменяет информацию об учётной записи или срок действия пароля\&.
.SS "Изменение пароля"
.PP
Сначала пользователя попросят ввести старый пароль, если он был\&. Этот пароль зашифровывается и сравнивается с имеющимся\&. У пользователя есть только одна попытка ввести правильный пароль\&. Для суперпользователя этот шаг пропускается, для того чтобы можно было изменить забытый пароль\&.
.PP
После ввода пароля проверяется информация об устаревании пароля, чтобы убедиться, что пользователю разрешено изменять пароль в настоящий момент\&. Если нет, то
\fBpasswd\fR
не производит изменение пароля и завершает работу\&.
.PP
Затем пользователю предложат дважды ввести новый пароль\&. Значение второго ввода сравнивается с первым и для изменения пароли из обеих попыток должны совпасть\&.
.PP
Затем пароль тестируется на сложность подбора\&. Согласно общим принципам, пароли должны быть длиной от 6 до 8 символов и включать один или более символов каждого типа:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
строчные буквы
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
цифры от 0 до 9
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
знаки пунктуации
.RE
.PP
Не включайте системные символы стирания и удаления\&. Программа
\fBpasswd\fR
не примет пароль, который не имеет достаточной сложности\&.
.SS "Выбор пароля"
.PP
Безопасность пароля зависит от стойкости алгоритма шифрования и размера пространства ключа\&. В старых системах
\fIUNIX\fR
метод шифрования основывался на алгоритме NBS DES\&. Сейчас рекомендуют более новые методы (смотрите
\fBENCRYPT_METHOD\fR)\&. Размер пространства ключа зависит от степени произвольности выбранного пароля\&.
.PP
При обеспечении безопасности пароля выбирают нечто среднее между сложным паролем и сложностью работы с ним\&. По этой причине, вы не должны использовать пароль, который является словом из словаря или который придётся записать из\-за его сложности\&. Также, пароль не должен быть названием чего\-либо, номером вашей лицензии, днём рождения и домашним адресом\&. Обо всём этом легко догадаться, что приведёт к нарушению безопасности системы\&.
.PP
You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength
.SH "ПАРАМЕТРЫ"
.PP
Параметры команды
\fBpasswd\fR:
.PP
\fB\-a\fR, \fB\-\-all\fR
.RS 4
Этот параметр можно использовать только вместе с
\fB\-S\fR
для вывода статуса всех пользователей\&.
.RE
.PP
\fB\-d\fR, \fB\-\-delete\fR
.RS 4
Удалить пароль пользователя (сделать его пустым)\&. Это быстрый способ заблокировать пароль учётной записи\&. Это сделает указанную учётную запись беспарольной\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expire\fR
.RS 4
Немедленно сделать пароль устаревшим\&. В результате это заставит пользователя изменить пароль при следующем входе в систему\&.
.RE
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Показать краткую справку и закончить работу\&.
.RE
.PP
\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIДНЕЙ\fR
.RS 4
Этот параметр используется для блокировки учётной записи по прошествии заданного числа дней после устаревания пароля\&. То есть, если пароль устарел и прошло более указанных
\fIДНЕЙ\fR, то пользователь больше не сможет использовать данную учётную запись\&.
.RE
.PP
\fB\-k\fR, \fB\-\-keep\-tokens\fR
.RS 4
Указывает, что изменение пароля нужно выполнить только для устаревших ключей аутентификации (паролей)\&. Пользователи хотят оставить свои непросроченные ключи нетронутыми\&.
.RE
.PP
\fB\-l\fR, \fB\-\-lock\fR
.RS 4
Заблокировать пароль указанной учётной записи\&. Этот параметр блокирует пароль, изменяя его значение на вариант, который не может быть шифрованным паролем (добавляется символ \(Fo!\(Fc в начало пароля)\&.
.sp
Заметим, что это не блокирует учётную запись\&. Пользователь всё ещё может войти в систему с помощью другого способа аутентификации (например, с помощью ключа SSH)\&. Чтобы заблокировать учётную запись, администратор должен использовать команду
\fBusermod \-\-expiredate 1\fR
(это установит дату устаревания учётной запись равной 2 января 1970 года)\&.
.sp
Посетитель с заблокированным паролем не может изменить свой пароль\&.
.RE
.PP
\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIМИН_ДНЕЙ\fR
.RS 4
Задать
\fIминимальное количество дней\fR
между сменами пароля\&. Нулевое значение этого поля указывает на то, что пользователь может менять свой пароль когда захочет\&.
.RE
.PP
\fB\-q\fR, \fB\-\-quiet\fR
.RS 4
Не выводить сообщений при работе\&.
.RE
.PP
\fB\-r\fR, \fB\-\-repository\fR\ \&\fIРЕПОЗИТОРИЙ\fR
.RS 4
Изменить пароль в
\fIРЕПОЗИТОРИИ\fR\&.
.RE
.PP
\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR
.RS 4
Выполнить изменения в каталоге
\fIКАТ_CHROOT\fR
и использовать файлы настройки из каталога
\fIКАТ_CHROOT\fR\&.
.RE
.PP
\fB\-S\fR, \fB\-\-status\fR
.RS 4
Показать состояние учётной записи\&. Информация о состоянии содержит 7 полей\&. Первое поле содержит имя учётной записи\&. Второе поле указывает, заблокирован ли пароль учётной записи (L), она без пароля (NP) или у неё есть рабочий пароль (P)\&. Третье поле хранит дату последнего изменения пароля\&. В следующих четырёх полях хранятся минимальный срок, максимальный срок, период выдачи предупреждения и период неактивности пароля\&. Эти сроки измеряются в днях\&.
.RE
.PP
\fB\-u\fR, \fB\-\-unlock\fR
.RS 4
Разблокировать пароль указанной учётной записи\&. Этот параметр разблокирует пароль, возвращая его прежнее значение (которое было перед использованием параметра
\fB\-l\fR)\&.
.RE
.PP
\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIПРЕД_ДНЕЙ\fR
.RS 4
Установить число дней выдачи предупреждения, перед тем как потребуется смена пароля\&. В параметре
\fIПРЕД_ДНЕЙ\fR
указывается число дней перед тем как пароль устареет, в течении которых пользователю будут напоминать, что пароль скоро устареет\&.
.RE
.PP
\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIМАКС_ДНЕЙ\fR
.RS 4
Установить максимальное количество дней, в течении которых пароль остаётся рабочим\&. После
\fIМАКС_ДНЕЙ\fR
пароль нужно изменить\&.
.RE
.SH "ПРЕДОСТЕРЕЖЕНИЯ"
.PP
Сложность пароля проверяется на разных машинах по разному\&. Пользователю настоятельно рекомендуется выбирать пароль такой сложности, чтобы ему нормально работалось\&.
.PP
Пользователи не могут изменять свои пароли в системе, если включён NIS и они не вошли на сервер NIS\&.
.SH "НАСТРОЙКА"
.PP
На работу этого инструмента влияют следующие переменные настройки из
/etc/login\&.defs:
.PP
\fBENCRYPT_METHOD\fR (строка)
.RS 4
Задаёт системный алгоритм шифрования по умолчанию для шифрования паролей (используется, если алгоритм не указан в командной строке)\&.
.sp
Возможны следующие значения:
\fIDES\fR
(по умолчанию),
\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
.sp
Замечание: этот параметр переопределяет переменную
\fBMD5_CRYPT_ENAB\fR\&.
.RE
.PP
\fBMD5_CRYPT_ENAB\fR (логический)
.RS 4
Обозначает, что пароль должен быть зашифрован по алгоритму на основе MD5\&. Если значение равно
\fIyes\fR, то новые пароли будут зашифрованы по алгоритму на основе MD5, совместимому с используемым в новых версиях FreeBSD\&. Он поддерживает пароли неограниченной длины и имеет более длинную строку соли\&. Установите в
\fIno\fR, если вам нужно копировать шифрованные пароли в другие системы, которые не поддерживают новый алгоритм\&. По умолчанию
\fIno\fR\&.
.sp
Эта переменная переопределяется переменной
\fBENCRYPT_METHOD\fR
или любым параметром командной строки, который задаёт алгоритм шифрования\&.
.sp
Эта переменная устарела; используйте
\fBENCRYPT_METHOD\fR\&.
.RE
.PP
\fBOBSCURE_CHECKS_ENAB\fR (логический)
.RS 4
Включает дополнительные проверки при смене пароля\&.
.RE
.PP
\fBPASS_ALWAYS_WARN\fR (логический)
.RS 4
Предупреждать о слабых паролях (но разрешать их использовать) для суперпользователя\&.
.RE
.PP
\fBPASS_CHANGE_TRIES\fR (число)
.RS 4
Максимальное количество попыток смены пароля (слишком простого) при непрохождении проверки\&.
.RE
.PP
\fBPASS_MAX_LEN\fR (число), \fBPASS_MIN_LEN\fR (число)
.RS 4
Количество значимых символов в пароле для crypt()\&. По умолчанию значение
\fBPASS_MAX_LEN\fR
равно 8\&. Не изменяйте, если ваш crypt() лучше\&. Игнорируется, если значение
\fBMD5_CRYPT_ENAB\fR
равно
\fIyes\fR\&.
.RE
.PP
\fBSHA_CRYPT_MIN_ROUNDS\fR (число), \fBSHA_CRYPT_MAX_ROUNDS\fR (число)
.RS 4
Если значение
\fBENCRYPT_METHOD\fR
равно
\fISHA256\fR
или
\fISHA512\fR, эта переменная определяет количество раундов SHA, используемых алгоритмом шифрования по умолчанию (если количество раундов не задано в командной строке)\&.
.sp
Увеличение количества раундов повышает сложность подбора пароля простым перебором\&. Но заметим, что при этом для аутентификации пользователей требуется большее количество процессорных ресурсов\&.
.sp
Если не задана, то libc выбирает значение количества раундов по умолчанию (5000)\&.
.sp
Значения должны лежать в диапазоне 1000\-999999999\&.
.sp
Если задано какое\-то одно значение \(em
\fBSHA_CRYPT_MIN_ROUNDS\fR
или
\fBSHA_CRYPT_MAX_ROUNDS\fR
\(em то будет использовано это значение\&.
.sp
Если
\fBSHA_CRYPT_MIN_ROUNDS\fR
>
\fBSHA_CRYPT_MAX_ROUNDS\fR, то используется большее значение\&.
.RE
.SH "ФАЙЛЫ"
.PP
/etc/passwd
.RS 4
содержит информацию о пользователях
.RE
.PP
/etc/shadow
.RS 4
содержит защищаемую информацию о пользователях
.RE
.PP
/etc/login\&.defs
.RS 4
содержит конфигурацию подсистемы теневых паролей
.RE
.SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ"
.PP
Программа
\fBpasswd\fR
завершая работу, возвращает следующие значения:
.PP
\fI0\fR
.RS 4
успешное выполнение
.RE
.PP
\fI1\fR
.RS 4
доступ запрещён
.RE
.PP
\fI2\fR
.RS 4
недопустимая комбинация параметров
.RE
.PP
\fI3\fR
.RS 4
неожиданная ошибка при работе, ничего не сделано
.RE
.PP
\fI4\fR
.RS 4
неожиданная ошибка при работе, отсутствует файл
passwd
.RE
.PP
\fI5\fR
.RS 4
файл
passwd
занят другой программой, попробуйте ещё раз
.RE
.PP
\fI6\fR
.RS 4
недопустимое значение параметра
.RE
.SH "СМОТРИТЕ ТАКЖЕ"
.PP
\fBchpasswd\fR(8),
\fBpasswd\fR(5),
\fBshadow\fR(5),
\fBlogin.defs\fR(5),\fBusermod\fR(8)\&.
